Reuben Thomas [Sun, 4 Dec 2016 14:37:37 +0000 (14:37 +0000)]
Remove XEmacs-specific horizontal scrollbar handling in ispell.el
* lisp/textmodes/ispell.el (ispell-command-loop): Remove
XEmacs-specific code.
Reuben Thomas [Sun, 4 Dec 2016 14:35:42 +0000 (14:35 +0000)]
Remove XEmacs-specific code dealing with enable-multibyte-characters
* lisp/textmodes/ispell.el (ispell-decode-string):
(ispell-init-process): Remove XEmacs-specific guard.
Reuben Thomas [Sun, 4 Dec 2016 14:19:26 +0000 (14:19 +0000)]
Remove XEmacs-specific code from ispell.el
* lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
(ispell-menu-map-needed): Remove XEmacs-specific check.
(ispell-word): Remove XEmacs-specific extent code.
(ispell-init-process): Remove XEmacs workaround for local add-hook.
Assume we have set-process-query-on-exit-flag.
(ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
workaround for called-interactively-p.
Reuben Thomas [Sun, 4 Dec 2016 14:15:50 +0000 (14:15 +0000)]
Remove some commented-out code
lisp/textmodes/ispell.el (ispell-process)
ispell-valid-dictionary-list): Remove commented-out code.
Reuben Thomas [Sun, 4 Dec 2016 14:05:07 +0000 (14:05 +0000)]
Remove XEmacs and old Emacs highlighting code
* lisp/textmodes/ispell.el
(ispell-highlight-spelling-error-xemacs): Remove.
(ispell-highlight-spelling-error): Assume display-color-p exists.
Reuben Thomas [Sun, 4 Dec 2016 14:02:48 +0000 (14:02 +0000)]
Assume Emacs supports [:alpha:] in regexps
* lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
(ispell-set-spellchecker-params): Remove tests of
ispell-emacs-alpha-regexp.
Reuben Thomas [Sun, 4 Dec 2016 13:59:59 +0000 (13:59 +0000)]
Remove some XEmacs-specific code from ispell.el
* lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
(ispell-int-char): Remove.
Reuben Thomas [Sun, 4 Dec 2016 13:55:31 +0000 (13:55 +0000)]
Generalise over-specific documentation
* lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
document precise personal wordlist filenames for only two supported
spelling checkers, simply say that the default personal dictionary
depends on the chosen spelling checker. The user can check the
spelling checker’s documentation if necessary. This is simpler, and
works for other supported (and future, or unknown) spelling checkers.
Reuben Thomas [Sun, 4 Dec 2016 13:52:04 +0000 (13:52 +0000)]
Remove tests for built-in functions
* lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
back-up definition.
(ispell-add-per-file-word-list): Remove tests for comment-padright and
comment-normalize-vars.
Reuben Thomas [Sun, 4 Dec 2016 01:06:26 +0000 (01:06 +0000)]
Remove unused ispell-looking-back
* lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
Reuben Thomas [Sun, 4 Dec 2016 00:54:04 +0000 (00:54 +0000)]
Assume we have version<= for checking ispell version
* lisp/textmodes/ispell.el (ispell-check-minver): Remove.
(ispell-check-version): Use version<= directly.
Reuben Thomas [Sun, 4 Dec 2016 00:49:35 +0000 (00:49 +0000)]
Remove ispell.el pre-GNU Emacs comments
* lisp/textmodes/ispell.el (Commentary): Remove original maintainer
details, as Emacs version, bug report address and so forth should be
used instead for this version. Remove in-line change history; use
git instead.
Mark Oteiza [Tue, 13 Dec 2016 16:47:21 +0000 (11:47 -0500)]
More small fixes for image-dired
* lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
node.
(image-dired--with-db-file): Add declare forms.
(image-dired-hidden-p): Rewrite with cl-loop. It's not necessary to
run through the whole list.
Mark Oteiza [Tue, 13 Dec 2016 16:41:45 +0000 (11:41 -0500)]
Remove image-dired-kill-buffer-and-window
This breaks window layout, especially when quitting a
image-dired-display-image-mode buffer.
* lisp/image-dired.el (image-dired-thumbnail-mode-map):
(image-dired-display-image-mode-map): Replace in keymap and menu items
bindings to image-dired-kill-buffer-and-window with quit-window.
(image-dired-kill-buffer-and-window): Remove.
Mark Oteiza [Tue, 13 Dec 2016 16:32:04 +0000 (11:32 -0500)]
Replace image-dired-setup-dired-keybindings with a minor mode
* lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
remove mention of nonexistent image-dired-dired and to refer to the
new minor mode.
(image-dired-minor-mode-map): New keymap assimilated from
image-dired-setup-dired-keybindings. In the future, the keymap parent
should be removed, and perhaps also the duplicate bindings that
already exist in dired-mode-map.
(image-dired-setup-dired-keybindings): Remove. Replace with an
obsolete function alias.
(image-dired-minor-mode): New minor mode, assuming the role of
image-dired-setup-dired-keybindings.
Paul Eggert [Tue, 13 Dec 2016 07:16:42 +0000 (23:16 -0800)]
* test/src/regex-resources/PTESTS: Convert to UTF-8.
Noam Postavsky [Tue, 13 Dec 2016 02:21:14 +0000 (21:21 -0500)]
Clarify thread-signal semantics
* doc/lispref/threads.texi (Basic Thread Functions): Explain that the
thread will be signaled as soon as possible.
Noam Postavsky [Sun, 11 Dec 2016 18:08:15 +0000 (13:08 -0500)]
Clean up var watcher disabling on thread switching
* src/data.c (Fset_default): Move code into new C level function,
`set_default_internal'.
(set_default_internal): New function, like `Fset_default' but also takes
additional bindflag parameter.
(set_internal): Only call `notify_variable_watchers' if bindflag is not
SET_INTERNAL_THREAD_SWITCH.
* src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
passed on to set_internal and set_default_internal. Adjust callers.
(rebind_for_thread_switch, unbind_for_thread_switch): Pass
SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
temporarily adjusting symbol's trapped_write field.
Glenn Morris [Tue, 13 Dec 2016 01:03:20 +0000 (20:03 -0500)]
Minor fix for define-derived-mode
* lisp/emacs-lisp/derived.el (define-derived-mode):
Do not let eg eval-defun reset the values of syntax or abbrev tables,
since they might have been defined externally. (Bug#16160)
Paul Eggert [Mon, 12 Dec 2016 22:54:30 +0000 (14:54 -0800)]
* build-aux/git-hooks/pre-commit: Add whitespace comment.
Clément Pit--Claudel [Mon, 5 Dec 2016 05:52:14 +0000 (00:52 -0500)]
Move backtrace to ELisp using a new mapbacktrace primitive
* src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
(Fmapbacktrace, Fbacktrace_frame_internal): New functions.
(get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
* lisp/subr.el (backtrace--print-frame): New function.
(backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
(backtrace-frame): Reimplement using `backtrace-frame--internal'.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
`mapbacktrace' instead of searching for "(debug" in the output of
`backtrace'.
* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
(subr-test-backtrace-integration-test): New tests.
* doc/lispref/debugging.texi (Internals of Debugger): Document
`mapbacktrace' and missing argument BASE of `backtrace-frame'.
Paul Eggert [Mon, 12 Dec 2016 22:27:35 +0000 (14:27 -0800)]
Use C99 syntax for font drivers
Problem reported by Daniel Colascione in:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
* src/ftcrfont.c (ftcrfont_driver):
* src/ftfont.c (ftfont_driver):
* src/ftxfont.c (ftxfont_driver):
* src/macfont.m (macfont_driver):
* src/nsfont.m (nsfont_driver):
* src/xfont.c (xfont_driver):
* src/xftfont.c (xftfont_driver):
Use C99 syntax, not the old GNU C syntax.
Glenn Morris [Mon, 12 Dec 2016 22:17:34 +0000 (17:17 -0500)]
Obsolete gs.el
* lisp/gs.el: Move to lisp/obsolete. (Bug#1524)
* doc/lispref/display.texi (Image Formats): Remove postscript.
(PostScript Images): Remove section.
* doc/lispref/elisp.texi: Update menu.
Glenn Morris [Mon, 12 Dec 2016 20:21:48 +0000 (15:21 -0500)]
Un-revert recent Ffset change
* src/data.c (Ffset): Reinstate the check for "nil".
Glenn Morris [Mon, 12 Dec 2016 20:20:39 +0000 (15:20 -0500)]
Minor advice.el fix
* lisp/emacs-lisp/advice.el (ad-preactivate-advice):
Avoid setting the function definition of nil.
This was happening during bootstrap of org-compat.el,
apparently due to eager macro expansion of code behind
a (featurep 'xemacs) test.
Eli Zaretskii [Mon, 12 Dec 2016 17:56:03 +0000 (19:56 +0200)]
Make etags-tests work in out-of-tree builds
* test/lisp/progmodes/etags-tests.el (etags-bug-158)
(etags-bug-23164): Make them work in an out-of-tree build.
Reported by Ken Brown <kbrown@cornell.edu>.
Eli Zaretskii [Mon, 12 Dec 2016 17:08:21 +0000 (19:08 +0200)]
Avoid crashing if a new thread is signaled right away
* src/thread.c (post_acquire_global_lock): Don't raise the pending
signal if the thread's handlers were not yet set up, as that will
cause Emacs to exit with a fatal error. This can happen if a
thread is signaled as soon as make-thread returns, before the new
thread had an opportunity to acquire the global lock, set up the
handlers, and call the thread function.
* test/src/thread-tests.el (thread-signal-early): New test.
Eli Zaretskii [Mon, 12 Dec 2016 16:03:40 +0000 (18:03 +0200)]
Fix point motion in cloned buffers
* src/thread.c (post_acquire_global_lock): Call
set_buffer_internal_2 instead of tricking set_buffer_internal_1
into resetting the current buffer even if it didn't change. This
avoids bug#25165, caused by failing to record the modified values
of point and mark, because current_buffer was set to NULL. Also,
don't bother re-setting the buffer if there was no thread switch,
as that just wastes cycles.
* src/buffer.c (set_buffer_internal_2): New function, with most of
the body of set_buffer_internal_1, but without the test for B
being identical to the current buffer.
(set_buffer_internal_1): Call set_buffer_internal_2 if B is not
identical to the current buffer.
* src/buffer.h (set_buffer_internal_2): Add prototype.
* test/src/thread-tests.el (thread-sticky-point): New test.
Michael Albinus [Mon, 12 Dec 2016 10:12:34 +0000 (11:12 +0100)]
Further improvements in Tramp's file name unquoting
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
(tramp-adb-handle-write-region): Unquote localname.
(tramp-adb-handle-copy-file): Implement direct copy on remote device.
(tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
* lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
(tramp-handle-file-name-case-insensitive-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-get-share)
(tramp-smb-get-localname): Use it.
* test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
(tramp--test-special-characters, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls): Use it.
Martin Rudalics [Mon, 12 Dec 2016 09:16:23 +0000 (10:16 +0100)]
Strengthen conditions for resizing sibling windows (Bug#25169)
* lisp/window.el (window-resize, delete-window): Resize other siblings
only if `window-combination-resize' equals t (Bug#25169).
Noam Postavsky [Fri, 28 Oct 2016 02:17:11 +0000 (22:17 -0400)]
Quote filenames containing '~' in prompts
When in a directory named '~', the default value given by
`read-file-name' should be quoted by prepending '/:', in order to
prevent it from being interpreted as referring to the $HOME
directory (Bug#16984).
* lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
(completion--sifn-requote, read-file-name-default): Use it instead of
`minibuffer--double-dollars'.
* test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
Eli Zaretskii [Sun, 11 Dec 2016 17:19:10 +0000 (19:19 +0200)]
Undo part of last change
* src/thread.h:
* src/keyboard.c:
* src/keyboard.h: Undo part of last change:
input_available_clear_time is again a global variable.
Eli Zaretskii [Sun, 11 Dec 2016 15:59:55 +0000 (17:59 +0200)]
Avoid aborts when a thread signals an error
* src/thread.h (struct thread_state): Add members
m_waiting_for_input and m_input_available_clear_time.
(waiting_for_input, input_available_clear_time): New macros.
* src/keyboard.c (waiting_for_input, input_available_clear_time):
Remove; they are now macros that reference the current thread.
(Bug#25171)
* src/w32select.c: Don't include keyboard.h.
* test/src/thread-tests.el (thread-errors): New test.
Philipp Stephani [Sat, 10 Dec 2016 20:36:15 +0000 (21:36 +0100)]
Clean up compile-tests.el
Switch to lexical binding. Make checkdoc happy.
* test/lisp/progmodes/compile-tests.el (compile--test-error-line)
(compile-test-error-regexps): Instead of checking a single Boolean
value, use `should' for each attribute of the message to be compared.
(compile-tests--test-regexps-data): Document sixth list element
TYPE.
Glenn Morris [Sun, 11 Dec 2016 03:40:34 +0000 (19:40 -0800)]
; Change maintainer comment
Ref http://debbugs.gnu.org/10934#23
Glenn Morris [Sun, 11 Dec 2016 03:37:59 +0000 (19:37 -0800)]
Improve previous cperl-mode change
* lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
Improve previous change.
Glenn Morris [Sun, 11 Dec 2016 03:26:25 +0000 (19:26 -0800)]
Mark default cperl abbrevs as system ones
* lisp/progmodes/cperl-mode.el (cperl-mode):
Mark our abbrevs as system ones. (Bug#10934)
Glenn Morris [Sun, 11 Dec 2016 03:18:24 +0000 (19:18 -0800)]
Revert earlier Ffset change
* src/data.c (Ffset): Allow nil again, since it caused
eager macro-expansion failures.
Glenn Morris [Sun, 11 Dec 2016 03:03:28 +0000 (19:03 -0800)]
Tweaks for message bogus address detection
* lisp/gnus/message.el (message-bogus-recipient-p):
Do not require "@", since some mailers deliver to local addresses
without one. (Bug#23054)
Move "@.*@" from here...
(message-bogus-addresses): ...to here, so it can be customized.
Glenn Morris [Sun, 11 Dec 2016 02:58:24 +0000 (18:58 -0800)]
Do not allow nil to be defined as a function
* lisp/emacs-lisp/byte-run.el (defun):
* src/data.c (Ffset): Do not allow "nil". (Bug#25110)
Nicolas Richard [Sun, 11 Dec 2016 01:48:10 +0000 (17:48 -0800)]
Add some sanity checking of defun arglist
* lisp/emacs-lisp/byte-run.el (defun):
Check for malformed argument lists. (Bug#15715)
Matt Armstrong [Sun, 11 Dec 2016 01:29:51 +0000 (17:29 -0800)]
Minor shell-mode fix for zsh
* lisp/shell.el (shell-mode): Prevent shell-dirstack-query
becoming confused by zsh abbreviations. (Bug#24632)
Copyright-paperwork-exempt: yes
Andreas Schwab [Sat, 10 Dec 2016 20:13:06 +0000 (21:13 +0100)]
* Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
system unit file.
Glenn Morris [Sat, 10 Dec 2016 18:19:06 +0000 (10:19 -0800)]
; Fix copyright years in new files
Philipp Stephani [Sat, 10 Dec 2016 17:23:15 +0000 (18:23 +0100)]
; Update file name in comment
Eli Zaretskii [Sat, 10 Dec 2016 16:54:43 +0000 (18:54 +0200)]
Support concurrency in Emacs Lisp
Merge branch 'test-concurrency'
* src/thread.c:
* src/thread.h:
* src/systhread.c:
* src/systhread.h: New files.
* src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
xnmalloc unconditionally.
* src/window.c (struct save_window_data): Rename current_buffer to
f_current_buffer.
* src/w32proc.c (sys_select): Change the function signature to
closer fit 'pselect' on Posix hosts.
* src/search.c:
* src/regex.h: Convert some globals to macros that reference
thread-specific values.
* src/process.c (pset_thread, add_non_keyboard_read_fd)
(add_process_read_fd, add_non_blocking_write_fd)
(recompute_input_desc, compute_input_wait_mask)
(compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
(compute_write_mask, clear_waiting_thread_info)
(update_processes_for_thread_death, Fset_process_thread)
(Fprocess_thread): New functions.
(enum fd_bits): New enumeration.
(fd_callback_data): Add 'thread' and 'waiting_thread', rename
'condition' to 'flags'.
(set_process_filter_masks, create_process, create_pty)
(Fmake_serial_process, finish_after_tls_connection)
(connect_network_socket, deactivate_process)
(server_accept_connection, wait_reading_process_output)
(Fcontinue_process, Fstop_process, keyboard_bit_set)
(add_timer_wait_descriptor, add_keyboard_wait_descriptor)
(delete_keyboard_wait_descriptor): Use the new functions instead
of manipulating fd flags and masks directly.
(syms_of_process): Defsubr the new primitives.
* src/print.c (print_object): Print threads, mutexes, and
conditional variables.
* src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
and PVEC_CONDVAR.
(XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
(CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
(XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
(struct handler): Add back byte_stack. Rename lisp_eval_depth to
f_lisp_eval_depth.
* src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
(rebind_for_thread_switch, do_one_unbind)
(unbind_for_thread_switch): New functions.
(init_eval): 'handlerlist' is not malloc'ed.
(specbind): Call do_specbind.
(unbind_to): Call do_one_unbind.
(mark_specpdl): Accept 2 arguments.
(mark_specpdl): Mark the saved value in a let-binding.
* src/emacs.c (main): Call init_threads_once, init_threads, and
syms_of_threads.
* src/data.c (Ftype_of): Support thread, mutex, and condvar
objects.
(Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
(syms_of_data): DEFSYM and defsubr new symbols and primitives.
* src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
(BYTE_CODE_QUIT): Add back.
(exec_byte_code): Add back byte stack manipulation.
* src/alloc.c (cleanup_vector): Handle threads, mutexes, and
conditional variables.
(mark_stack): Now extern; accept additional argument 'bottom'.
(flush_stack_call_func): New function.
(garbage_collect_1): Call mark_threads and unmark_threads. Don't
mark handlers.
* src/.gdbinit (xbytecode): Add back.
* test/src/thread-tests.el: New tests.
* test/src/data-tests.el (binding-test-manual)
(binding-test-setq-default, binding-test-makunbound)
(binding-test-defvar-bool, binding-test-defvar-int)
(binding-test-set-constant-t, binding-test-set-constant-nil)
(binding-test-set-constant-keyword)
(binding-test-set-constant-nil): New tests.
* doc/lispref/processes.texi (Processes and Threads): New
subsection.
* doc/lispref/threads.texi: New file
* doc/lispref/elisp.texi (Top): Include it.
* doc/lispref/objects.texi (Thread Type, Mutex Type)
(Condition Variable Type): New subsections.
(Type Predicates): Add thread-related predicates.
* doc/lispref/objects.texi (Editing Types):
* doc/lispref/elisp.texi (Top): Update higher-level menus.
* etc/NEWS: Mention concurrency features.
Eli Zaretskii [Sat, 10 Dec 2016 09:42:48 +0000 (11:42 +0200)]
Fix error messages in thread.c
* src/thread.c (lisp_mutex_unlock, Fcondition_wait)
(Fcondition_notify, Fthread_join): Fix error messages.
Eli Zaretskii [Sat, 10 Dec 2016 09:31:11 +0000 (11:31 +0200)]
Improve doc strings in thread.c
* src/thread.c (Fmake_condition_variable, Fcondition_wait)
(Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
(Fthread_join, Fall_threads): Doc fixes.
Eli Zaretskii [Sat, 10 Dec 2016 09:06:23 +0000 (11:06 +0200)]
Fix building with check-lisp-object-type
* src/thread.c (mark_one_thread): Use NILP to compare with
m_saved_last_thing_searched, which is a Lisp object. Reported by
Andreas Politz <politza@hochschule-trier.de>.
Eli Zaretskii [Sat, 10 Dec 2016 08:49:39 +0000 (10:49 +0200)]
Documentation and commentary improvements
* src/lisp.h:
* src/regex.c:
* src/xgselect.c (xg_select): Improve commentary and formatting.
* doc/lispref/objects.texi (Thread Type, Mutex Type)
(Condition Variable Type): New subsections.
(Type Predicates): Add thread-related predicates.
* doc/lispref/objects.texi (Editing Types):
* doc/lispref/elisp.texi (Top): Update higher-level menus.
Michael Albinus [Fri, 9 Dec 2016 18:54:20 +0000 (19:54 +0100)]
Fix further problems with quoted file names in Tramp
* lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
(tramp-unquote-name): Move defsubst ...
* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote): ... here. Adapt callees.
* lisp/net/tramp-cache.el (tramp-flush-file-property)
(tramp-flush-directory-property):
* lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
(tramp-smb-handle-substitute-in-file-name)
(tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
Eli Zaretskii [Fri, 9 Dec 2016 17:04:36 +0000 (19:04 +0200)]
*src/sysdep.c: Fix a comment.
Eli Zaretskii [Fri, 9 Dec 2016 16:51:59 +0000 (18:51 +0200)]
Fix compilation error on Fedora 24
* src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
Reported by Paul Eggert <eggert@cs.ucla.edu>.
Eli Zaretskii [Fri, 9 Dec 2016 16:23:04 +0000 (18:23 +0200)]
Fix compilation warnings due to prototype of thread_select
* src/thread.h <int select_func>: Make the 5th and 6th arguments
be 'const'.
* src/process.c [WINDOWSNT]:
* src/w32proc.c: Make the 5th and 6th argument to sys_select be
'const'.
Eli Zaretskii [Fri, 9 Dec 2016 16:04:27 +0000 (18:04 +0200)]
Fix compilation on Debian GNU/Linux
* src/thread.h: Include sys/types.h, for ssize_t that regex.h
uses. Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
Eli Zaretskii [Fri, 9 Dec 2016 14:03:08 +0000 (16:03 +0200)]
Fix subtle errors with let-binding of localized variables
* src/eval.c (do_specbind): Don't require a "symbol" that is
actually a cons cell, in order to call set-default, as there are
no longer such bindings. This makes do_specbind work like the
pre-concurrency implementation in specbind for bindings of
forwarded symbols. Use specpdl_kind to access the type of the
binding.
(specpdl_kind): New function.
Michael Albinus [Fri, 9 Dec 2016 09:03:05 +0000 (10:03 +0100)]
Document file-name-quote, file-name-unquote and file-name-quoted-p
* doc/lispref/files.texi (File Name Expansion):
* etc/NEWS: Mention file-name-quote, file-name-unquote and
file-name-quoted-p.
* lisp/files.el (file-name-non-special): Revert using
file-name-quote, file-name-unquote and file-name-quoted-p.
Noam Postavsky [Fri, 9 Dec 2016 05:14:48 +0000 (00:14 -0500)]
Fix bad quoting of python-shell-interpreter
`python-shell-calculate-command' was using `shell-quote-argument' as if
it was generating a shell command, but its callers don't pass the result
to a shell, and they expect to parse it with `split-string-and-unquote'.
This caused problems depending on the flavor of shell quoting in
effect (Bug#25025).
* lisp/progmodes/python.el (python-shell-calculate-command): Use
`combine-and-quote-strings' to quote the interpreter, so that it can be
parsed by `python-shell-make-comint' successfully using
`split-string-and-unquote'.
Paul Eggert [Fri, 9 Dec 2016 02:17:15 +0000 (18:17 -0800)]
* src/lisp.h (struct terminal): Remove unnecessary forward decl.
Paul Eggert [Thu, 8 Dec 2016 19:32:48 +0000 (11:32 -0800)]
Make read1 more reentrant
This is needed if ‘read’ is called soon after startup, before the
Unicode tables have been set up, and it reads a \N escape and
needs to look up a value the Unicode tables, a lookup that in turn
calls read1 recursively. Although this change doesn’t make ‘read’
fully reentrant, it’s good enough to handle this case.
* src/lread.c (read_buffer_size, read_buffer): Remove static vars.
(grow_read_buffer): Revamp to use locals, not statics, and to
record memory allocation un the specpdl. All callers changed.
(read1): Start with a stack-based buffer, and use the heap
only if the stack buffer is too small. Use unbind_to to
free any heap buffer allocated. Use bool for boolean.
Redo symbol loop so that only one call to grow_read_buffer
is needed.
(init_obarray): Remove no-longer-needed initialization.
Eli Zaretskii [Thu, 8 Dec 2016 18:47:27 +0000 (20:47 +0200)]
Fix compilation warnings
* src/thread.c (Fmake_thread): Call emacs_abort, to avoid
compilation warning.
Paul Eggert [Thu, 8 Dec 2016 18:43:11 +0000 (10:43 -0800)]
Fix unlikely substitute-command-keys memory leak
* src/doc.c (Fsubstitute_command_keys):
Free buffer when unwinding.
Michael Albinus [Thu, 8 Dec 2016 17:33:26 +0000 (18:33 +0100)]
; Fix last patch
Michael Albinus [Thu, 8 Dec 2016 17:00:10 +0000 (18:00 +0100)]
Add file-name-quoted-p, file-name-quote, file-name-unquote
* lisp/files.el (file-name-quoted-p, file-name-quote)
(file-name-unquote): New defsubst.
(find-file--read-only, find-file-noselect)
(file-name-non-special): Use them.
Eli Zaretskii [Thu, 8 Dec 2016 16:35:40 +0000 (18:35 +0200)]
Add a NEWS entry.
Glenn Morris [Thu, 8 Dec 2016 07:18:36 +0000 (23:18 -0800)]
Minor fix for symbol-file
* lisp/subr.el (symbol-file): Avoid false matches with "require"
elements in load-history. (Bug#25109)
Tino Calancha [Thu, 8 Dec 2016 04:46:25 +0000 (13:46 +0900)]
Fix Bug#24962
* lisp/buff-menu.el (list-buffers--refresh):
List buffers with name starting with " " if they visit a file.
* test/lisp/buff-menu-tests.el (buff-menu-24962):
Update test result as pass.
Tino Calancha [Thu, 8 Dec 2016 02:32:02 +0000 (11:32 +0900)]
ediff-fixup-patch-map: Improve prompt
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Make clear in the prompt when we are applying a multi patch.
Glenn Morris [Thu, 8 Dec 2016 01:25:36 +0000 (20:25 -0500)]
Retain message logging in map-y-or-n-p
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
Stop disabling logging to Messages buffer. (Bug#13326)
Glenn Morris [Thu, 8 Dec 2016 01:10:54 +0000 (20:10 -0500)]
Doc fix for recent change
* lisp/simple.el (region-modifiable-p): Doc fix.
Glenn Morris [Thu, 8 Dec 2016 00:59:14 +0000 (19:59 -0500)]
Quieten make-dist default operation
* make-dist: Add --verbose option. Default to quieter operation.
Tino Calancha [Wed, 7 Dec 2016 22:27:36 +0000 (07:27 +0900)]
Fix regression introduced by commit
7b1e97f
* lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
of cadr; required after commit
20f5a5b.
Paul Eggert [Wed, 7 Dec 2016 20:53:02 +0000 (12:53 -0800)]
Put post-25 ChangeLog entries into ChangeLog.3
* ChangeLog.2: Copy from emacs-25 branch.
* ChangeLog.3: New file, with changes only in master.
* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
Paul Eggert [Wed, 7 Dec 2016 20:43:16 +0000 (12:43 -0800)]
Merge from origin/emacs-25
eeecac7 Fix minor quoting problems in doc strings
Paul Eggert [Wed, 7 Dec 2016 20:41:06 +0000 (12:41 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
da71c89 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docs...
Paul Eggert [Wed, 7 Dec 2016 20:41:05 +0000 (12:41 -0800)]
Merge from origin/emacs-25
35ce3fb Don't assume window-point and point are the same
Paul Eggert [Wed, 7 Dec 2016 20:41:05 +0000 (12:41 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
a3487a8 Fix bug#25087
Paul Eggert [Wed, 7 Dec 2016 20:41:05 +0000 (12:41 -0800)]
Merge from origin/emacs-25
ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change. ...
8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix. (Bug#25046)
c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
93d8346 Improve indexing of 'man'
Paul Eggert [Wed, 7 Dec 2016 20:41:05 +0000 (12:41 -0800)]
; Merge from origin/emacs-25
The following commits were skipped:
c491989 Port to Sun C 5.14
95eb641 Fix mail-combine-fields
Paul Eggert [Wed, 7 Dec 2016 20:41:04 +0000 (12:41 -0800)]
Merge from origin/emacs-25
d31298d Fix documentation of `window-combination-resize'
2086f4c Typo fixes in elisp manual
Paul Eggert [Wed, 7 Dec 2016 20:41:04 +0000 (12:41 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
f6da597 ; Revert "Guard terminal par. in XTerm mouse mode"
Paul Eggert [Wed, 7 Dec 2016 20:40:43 +0000 (12:40 -0800)]
Merge from origin/emacs-25
3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
5878abf Fix 'expand-file-name' during startup on MS-Windows
Paul Eggert [Wed, 7 Dec 2016 20:39:08 +0000 (12:39 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
4606529 ; ChangeLog.2 update
Paul Eggert [Wed, 7 Dec 2016 20:39:08 +0000 (12:39 -0800)]
Merge from origin/emacs-25
9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
6d27423 Tweak refcard note about documentation location
e46a134 Improve treatment of Fortran's "class is"
Paul Eggert [Wed, 7 Dec 2016 20:39:08 +0000 (12:39 -0800)]
; Merge from origin/emacs-25
The following commits were skipped:
3674317 Bump Emacs version to 25.1.90
938e316 ; Revert "Bump Emacs version"
596289b Bump Emacs version
dcfe4d1 ; ChangeLog.2 update
Paul Eggert [Wed, 7 Dec 2016 20:39:07 +0000 (12:39 -0800)]
Merge from origin/emacs-25
93c0f51 Handle TeX comments when making new paragraph
e0884f1 Restore keystroke echo in 'C-q'
a6213ce Improve documentation of 'current-word'
0828126 Fix a typo in an Eshell defcustom
2e361c7 Minor copyedits of electric-pair-mode
7499ee8 ; Minor copyedit in the Emacs manual
45b652b Fix documentation of 'invocation-directory'
7f43d7c * admin/authors.el (authors-aliases): Add an entry.
ba48880 ; Fix pl-refcard.tex
Paul Eggert [Wed, 7 Dec 2016 20:39:07 +0000 (12:39 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
d4e1549 Guard terminal parameter in XTerm mouse mode
Paul Eggert [Wed, 7 Dec 2016 20:39:06 +0000 (12:39 -0800)]
Merge from origin/emacs-25
7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
Paul Eggert [Wed, 7 Dec 2016 20:39:06 +0000 (12:39 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
3f2b497 * etc/AUTHORS: Regenerate the AUTHORS file
Paul Eggert [Wed, 7 Dec 2016 20:36:38 +0000 (12:36 -0800)]
Merge from origin/emacs-25
3d63b48 Update ChangeLog files and authors.el
9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
a725592 Avoid errors in shr-pixel-column due to dedicated windows
3138598 Update format-time-string documentation
Sam Steingold [Wed, 7 Dec 2016 20:06:08 +0000 (15:06 -0500)]
delete-trailing-whitespace: handle read-only text in buffer
* lisp/simple.el (region-modifiable-p): New function.
(delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
Paul Eggert [Wed, 7 Dec 2016 19:29:54 +0000 (11:29 -0800)]
Fix minor quoting problems in doc strings
Eli Zaretskii [Wed, 7 Dec 2016 19:01:40 +0000 (21:01 +0200)]
Fix network streams.
The original code messed up flags in fd_callback_data[], and also
didn't call add_process_read_fd for process-related file descriptors.
Paul Eggert [Wed, 7 Dec 2016 18:29:57 +0000 (10:29 -0800)]
Fix --enable-gcc-warnings --with-ns on Fedora
* src/Makefile.in (NON_OBJC_CFLAGS): New macro.
(ALL_OBJC_CFLAGS): Use it.
(EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
(ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
Eli Zaretskii [Wed, 7 Dec 2016 17:08:24 +0000 (19:08 +0200)]
Minimize spurious diffs from master.
Michael Albinus [Wed, 7 Dec 2016 16:16:57 +0000 (17:16 +0100)]
Fix problems in quoting Tramp file names
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
(tramp-unquote-shell-quote-argument): New defun.
(tramp-shell-quote-argument):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-shell-quote-argument): Use it.
Mark Oteiza [Wed, 7 Dec 2016 14:43:27 +0000 (09:43 -0500)]
; Fix previous commit
Tino Calancha [Wed, 7 Dec 2016 14:02:26 +0000 (23:02 +0900)]
ibuffer-map-deletion-lines: Re-included it
It was deleted in previous commit, but it's referenced
by the macro 'define-ibuffer-op'.
* lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
Tino Calancha [Wed, 7 Dec 2016 13:25:11 +0000 (22:25 +0900)]
ibuffer-unmark-all: simplify code
* lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
(ibuffer-unmark-all): Simplify code.
Tino Calancha [Wed, 7 Dec 2016 13:02:54 +0000 (22:02 +0900)]
define-ibuffer-filter: Discard wrong filters
* lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.